﻿using Microsoft.Extensions.Configuration;  // 引入配置文件处理库
using Common;  // 引入公共命名空间
using System.Text;  // 引入字符串构建类

namespace StudentManager.Data
{
    /// <summary>
    /// DalHelper 类，提供数据访问层的辅助方法。
    /// 该类包括 SQL 字段更新语句生成的常用方法。
    /// </summary>
    public class DalHelper
    {
        /// <summary>
        /// 将字段列表转换为 SQL 更新语句的格式。
        /// </summary>
        /// <param name="fields">字段列表（以逗号分隔）</param>
        /// <returns>返回格式化后的 SQL 更新语句字符串</returns>
        public static string FieldsToUpdates(string fields)
        {
            // 将传入的字段列表按逗号分割成数组
            var fs = fields.Split(',');

            // 使用 StringBuilder 创建更新语句
            StringBuilder sb = new StringBuilder(fields.Length * 2 + fs.Length * 5);

            // 遍历字段数组，构建 SQL 更新语句
            for (int i = 0; i < fs.Length; i++)
            {
                var f = fs[i].Trim();  // 去除字段两侧的空格
                if (i != fs.Length - 1)
                    sb.Append($"{f} = @{f}, ");  // 如果不是最后一个字段，添加逗号
                else
                    sb.Append($"{f} = @{f}");  // 如果是最后一个字段，去掉逗号
            }

            // 返回生成的 SQL 更新语句
            return sb.ToString();
        }
    }
}
